The present invention relates to a method for transferring data, and more particularly, to a method for transferring data with an Institute of Electric and Electronics Engineers (IEEE) 1394 serial bus.
In recent years, data transfer apparatuses with IEEE 1394 serial buses have been used in multimedia environments and other various environments. In such a data transfer apparatus, to increase the data transfer speed, every node where data transfer is performed and cables between the nodes must be applicable to high speed operation. However, a higher transfer speed at the nodes or cables increases power consumption and raises costs. Thus, when nodes at which the data transfer speed is relatively low are also included, a narrowed band caused by the nodes must be prevented and the data transfer speed must be increased.
FIG. 1 shows a data transfer apparatus 100 with an IEEE 1394 serial bus. The data transfer apparatus 100 has a basic topology. A host device 1 has ports p1 and p2 respectively connected to, for example, two terminal devices 2a and 2b by IEEE 1394 cables. Data is transferred between the host device 1 and the terminal devices 2a and 2b or between the terminal devices 2a and 2b via the host device 1.
A typical bus arbitration operation performed by the data transfer apparatus 100 will now be described. A cycle start packet (hereafter referred to as CS) is transmitted from the ports p1 and p2 of the host device 1 to the terminal devices 2a and 2b. Then, the terminal devices 2a and 2b transmit a request signal to the host device 1. In response to the request signal, when the port p1 transmits a grant signal to, for example, the terminal device 2a, the terminal device 2a transmits packet data a1 to the host device 1, as shown in FIG. 2. The host device 1 then transfers the transmitted packet data a1 from the port p2 to the terminal device 2b. 
FIG. 3 shows the input and output timing at the ports p1 and p2 during data transfer. The data transfer is performed by repeating a nominal cycle, in which one cycle has 125 microseconds. Each nominal cycle includes an isochronous period and an asynchronous period. Data transfer is performed during the isochronous period. The host device 1 transmits the CS from the ports p1 and p2 when each nominal cycle is started.
During the isochronous period, following the output of the CS, the host device 1 receives packet data a1 from the terminal device 2a through the port p1 and transmits the packet data a1 from the port p2 to the terminal device 2b. Further, the host device 1 receives packet data b1 from the terminal device 2b through the port p2 and transfers the packet data b1 from the port p1 to the terminal device 2a. Such data transfer is repeatedly performed during the isochronous period. Further, data transfer is performed in an asynchronous manner during the asynchronous period.
The above data transfer is performed in an optimal manner when the nodes and the cables operate at a relatively high speed and sufficient transfer speed and band are ensured.
FIG. 4 shows the operation when a node having a relatively low transfer speed is included in the topology. In such a case, the transfer speed of the packet data a1 and b1 is restricted by the speed of the relatively slow node. This narrows the transfer band. As a result, the ratio between the isochronous period and the asynchronous period changes. This may cause the asynchronous period to be insufficient.
FIG. 5 shows an example in which additional nodes are further connected to the host device in the topology of FIG. 1. Node g corresponds to the host device, and nodes a to f correspond to the terminal devices. The node g transfers packet data sequentially received from the nodes a to f to the node h or other nodes.
FIG. 6 shows the receiving and transferring of data at the node g. In this case, all of the nodes operate at a relatively high speed, and sufficient transfer speed and band is ensured. More specifically, the node g outputs the CS to other nodes when the nominal cycle is started and sequentially receives packet data a1 to f1 from the nodes a to f. Then, the node g transfers the received packet data a1 to f1 to every node. Through such operation, packet data from each of the nodes a to f is received and transferred during a single nominal cycle.
FIG. 7 shows the operation that is performed when nodes having a relatively low transfer speed are included in the topology of FIG. 5. In such a case, the transfer speed of the packet data is always restricted by the speed of the slow nodes. As a result, the transfer of the packet data a1 to f1 cannot be completed during a single nominal cycle. Thus, isochronous transfer fails.
Japanese Laid-Open Patent Publications 10-303949 and 2000-286855 describes a data transfer apparatus using the above IEEE 1394 serial bus.